﻿namespace WMS6.Web.BaseInfoServiceRef
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Runtime.CompilerServices;
    using System.Runtime.Serialization;

    [Serializable, DataContract(Name="ReceiptValidationInfo", Namespace="http://schemas.datacontract.org/2004/07/WMS6.DataEntity"), DebuggerStepThrough, GeneratedCode("System.Runtime.Serialization", "3.0.0.0")]
    public class ReceiptValidationInfo : IExtensibleDataObject, INotifyPropertyChanged
    {
        [OptionalField]
        private string CommodityNotOnAsnField;
        [OptionalField]
        private string CommodityNotOnPoField;
        [OptionalField]
        private string CreatedByField;
        [OptionalField]
        private DateTime CreatedDateField;
        [OptionalField]
        private string DefaultFlagField;
        [OptionalField]
        private string DescrField;
        [NonSerialized]
        private ExtensionDataObject extensionDataField;
        [OptionalField]
        private string IsActiveField;
        [OptionalField]
        private string IsQtyValidationField;
        [OptionalField]
        private decimal OveragePercentField;
        [OptionalField]
        private string ReceiptValidationIDField;
        [OptionalField]
        private string ReceiptWithoutAsnField;
        [OptionalField]
        private string ReceiptWithoutLpnField;
        [OptionalField]
        private string ReceiptWithoutPoField;
        [OptionalField]
        private int RowIDField;
        [OptionalField]
        private string SystemCreatedField;
        [OptionalField]
        private byte[] TsField;
        [OptionalField]
        private string UpdatedByField;
        [OptionalField]
        private DateTime UpdatedDateField;
        [OptionalField]
        private string WhIDField;

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if (propertyChanged != null)
            {
                propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        [DataMember]
        public string CommodityNotOnAsn
        {
            get
            {
                return this.CommodityNotOnAsnField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CommodityNotOnAsnField, value))
                {
                    this.CommodityNotOnAsnField = value;
                    this.RaisePropertyChanged("CommodityNotOnAsn");
                }
            }
        }

        [DataMember]
        public string CommodityNotOnPo
        {
            get
            {
                return this.CommodityNotOnPoField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CommodityNotOnPoField, value))
                {
                    this.CommodityNotOnPoField = value;
                    this.RaisePropertyChanged("CommodityNotOnPo");
                }
            }
        }

        [DataMember]
        public string CreatedBy
        {
            get
            {
                return this.CreatedByField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CreatedByField, value))
                {
                    this.CreatedByField = value;
                    this.RaisePropertyChanged("CreatedBy");
                }
            }
        }

        [DataMember]
        public DateTime CreatedDate
        {
            get
            {
                return this.CreatedDateField;
            }
            set
            {
                if (!this.CreatedDateField.Equals(value))
                {
                    this.CreatedDateField = value;
                    this.RaisePropertyChanged("CreatedDate");
                }
            }
        }

        [DataMember]
        public string DefaultFlag
        {
            get
            {
                return this.DefaultFlagField;
            }
            set
            {
                if (!object.ReferenceEquals(this.DefaultFlagField, value))
                {
                    this.DefaultFlagField = value;
                    this.RaisePropertyChanged("DefaultFlag");
                }
            }
        }

        [DataMember]
        public string Descr
        {
            get
            {
                return this.DescrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.DescrField, value))
                {
                    this.DescrField = value;
                    this.RaisePropertyChanged("Descr");
                }
            }
        }

        [Browsable(false)]
        public ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [DataMember]
        public string IsActive
        {
            get
            {
                return this.IsActiveField;
            }
            set
            {
                if (!object.ReferenceEquals(this.IsActiveField, value))
                {
                    this.IsActiveField = value;
                    this.RaisePropertyChanged("IsActive");
                }
            }
        }

        [DataMember]
        public string IsQtyValidation
        {
            get
            {
                return this.IsQtyValidationField;
            }
            set
            {
                if (!object.ReferenceEquals(this.IsQtyValidationField, value))
                {
                    this.IsQtyValidationField = value;
                    this.RaisePropertyChanged("IsQtyValidation");
                }
            }
        }

        [DataMember]
        public decimal OveragePercent
        {
            get
            {
                return this.OveragePercentField;
            }
            set
            {
                if (!this.OveragePercentField.Equals(value))
                {
                    this.OveragePercentField = value;
                    this.RaisePropertyChanged("OveragePercent");
                }
            }
        }

        [DataMember]
        public string ReceiptValidationID
        {
            get
            {
                return this.ReceiptValidationIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ReceiptValidationIDField, value))
                {
                    this.ReceiptValidationIDField = value;
                    this.RaisePropertyChanged("ReceiptValidationID");
                }
            }
        }

        [DataMember]
        public string ReceiptWithoutAsn
        {
            get
            {
                return this.ReceiptWithoutAsnField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ReceiptWithoutAsnField, value))
                {
                    this.ReceiptWithoutAsnField = value;
                    this.RaisePropertyChanged("ReceiptWithoutAsn");
                }
            }
        }

        [DataMember]
        public string ReceiptWithoutLpn
        {
            get
            {
                return this.ReceiptWithoutLpnField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ReceiptWithoutLpnField, value))
                {
                    this.ReceiptWithoutLpnField = value;
                    this.RaisePropertyChanged("ReceiptWithoutLpn");
                }
            }
        }

        [DataMember]
        public string ReceiptWithoutPo
        {
            get
            {
                return this.ReceiptWithoutPoField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ReceiptWithoutPoField, value))
                {
                    this.ReceiptWithoutPoField = value;
                    this.RaisePropertyChanged("ReceiptWithoutPo");
                }
            }
        }

        [DataMember]
        public int RowID
        {
            get
            {
                return this.RowIDField;
            }
            set
            {
                if (!this.RowIDField.Equals(value))
                {
                    this.RowIDField = value;
                    this.RaisePropertyChanged("RowID");
                }
            }
        }

        [DataMember]
        public string SystemCreated
        {
            get
            {
                return this.SystemCreatedField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SystemCreatedField, value))
                {
                    this.SystemCreatedField = value;
                    this.RaisePropertyChanged("SystemCreated");
                }
            }
        }

        [DataMember]
        public byte[] Ts
        {
            get
            {
                return this.TsField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TsField, value))
                {
                    this.TsField = value;
                    this.RaisePropertyChanged("Ts");
                }
            }
        }

        [DataMember]
        public string UpdatedBy
        {
            get
            {
                return this.UpdatedByField;
            }
            set
            {
                if (!object.ReferenceEquals(this.UpdatedByField, value))
                {
                    this.UpdatedByField = value;
                    this.RaisePropertyChanged("UpdatedBy");
                }
            }
        }

        [DataMember]
        public DateTime UpdatedDate
        {
            get
            {
                return this.UpdatedDateField;
            }
            set
            {
                if (!this.UpdatedDateField.Equals(value))
                {
                    this.UpdatedDateField = value;
                    this.RaisePropertyChanged("UpdatedDate");
                }
            }
        }

        [DataMember]
        public string WhID
        {
            get
            {
                return this.WhIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.WhIDField, value))
                {
                    this.WhIDField = value;
                    this.RaisePropertyChanged("WhID");
                }
            }
        }
    }
}

